A computer program, or network of computers, that attempts to simulate an abstract model of a particular system.